"use strict";

import {createDecorator} from "vue-class-component";

export const Log = createDecorator((options: any, key: any) => {
        // 保留原来的方法以备后用。
        const originalMethod = options.methods[key]

        // 用日志逻辑包装方法。
        options.methods[key] = function wrapperMethod(...args: []) {
            // 打印日志
            console.log(`Invoked: ${key}(`, ...args, ')')

            // 调用原始方法
            originalMethod.apply(this, args)
        }
    }
)
